package com.ebupt.migu.music.schedule.entity;

import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
import lombok.Getter;
import lombok.Setter;

import java.util.Map;

/**
 * Created by Intellij IDEA.
 * User:  liuyangyang@cd.ebupt.com
 * Date:  2020/3/23
 */
@Getter
@Setter
@JacksonXmlRootElement(localName = "messageInfo")
public class MessageInfo {
    /**
     * 消息唯一编号, 发送的时候不需要填写该字段
     */
    @JacksonXmlProperty(localName = "messageID")
    private String messageID;
    /**
     * 目标用户ID，根据flow标识发送或接受用户
     */
    @JacksonXmlProperty(localName = "targetID")
    private String targetID;
    /**
     * 消息类型：
     * 0：用户系统消息
     */
    @JacksonXmlProperty(localName = "type")
    private int type;
    /**
     * 00	浏览
     * 01	订购
     * 02	分享
     * 03	收藏
     * 04	创建
     * 05	评论
     * 06	预约
     * 07	关注（对人）
     * 08	点赞
     * 09	订阅
     * 10	播放
     * 11	业务通知
     */
    @JacksonXmlProperty(localName = "action")
    private String action;
    /**
     * 消息内容
     * <body>”XX对您的XXX作品点赞，快去看看吧”</body>
     */
    @JacksonXmlProperty(localName = "body")
    private String body;
    /**
     * 消息流向标识：
     * 0：发送，1：接受
     */
    @JacksonXmlProperty(localName = "flow")
    private int flow;
    /**
     * 阅读标识：
     * 0：未读，1：已读
     * 发送默认0
     */
    @JacksonXmlProperty(localName = "read")
    private String read;
    /**
     * 消息扩展属性
     * platform：平台渠道：
     * 1：WWW门户
     * 2：咪咕大厅
     * 3：安卓门户
     * 4：SDK
     * originTargetID:当发送的是评论消息时，该字段传入，查询是评论消息时，将该字段返回
     */
    @JacksonXmlProperty(localName = "ext")
    private Map<String, String> ext;
    /**
     * 消息产生时间
     */
    @JacksonXmlProperty(localName = "timestamp")
    private String timestamp;
}
